#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct fool {
	unsigned int a:2;
	int b:2;
	short c:1;
	int d:3;
	int e:1;
	unsigned int f:1;
};

	int
main(int argc, char **argv)
{
	static struct fool x;
	int i = 0;

	printf("sizeof x = %zu\n", sizeof x);

	for (i = 0; i < 10; i++) {
		printf(".a = %u\n", x.a);
		x.a++;
	}
	fputc('\n', stdout);
	for (i = 0; i < 10; i++) {
		printf(".b = %d\n", x.b);
		x.b++;
	}
	putchar('\n');
	for (i = 0; i < 10; i++) {
		printf(".c = %hd\n", x.c);
		x.c++;
	}
	putchar('\n');
	for (i = 0; i < 10; i++) {
		printf(".d = %d\n", x.d);
		x.d++;
	}
	putchar('\n');
	for (i = 0; i < 10; i++) {
		printf(".e = %d (%%u: %u)\n", x.e, x.e);
		x.e++;
	}
	putchar('\n');
	for (i = 0; i < 10; i++) {
		printf(".f = %u\n", x.f);
		x.f++;
	}
	putchar('\n');

	printf("x = { .a = %u, .b = %d, .c = %hd, .d = %d, .e = %d, .f = %u }\n",
			x.a, x.b, x.c, x.d, x.e, x.f);

	return 0;
}
